const { formatTime } = require('./util.js');
const { timeDifference2 } = require('./timeDifference.js');

const day = (timestemp) =>{
  return parseInt(timestemp/(1000*60*60*24));
};
    
//判断订单有没有过期
const queryDownOrder = function(){
  const db = wx.cloud.database();
  db.collection('orders').orderBy('timestemp','desc').where({
    orderType:'going'
  }).get({
    success: (res) => {
      console.log('[数据库] [查询记录] 成功: ', res.data);
      let orders = res.data;
      // let nowTime = formatTime(new Date(new Date().getTime()));
      orders.forEach(v => {
        let offset = (new Date()).valueOf() - v.timestemp;
        if(offset>((v.orderHours)*60*1000) || day(v.timestemp)<day((new Date()).valueOf()) ){
          //结束
          db.collection('orders').doc(v._id).update({
            data: {
              orderType: 'down',
              endTimestemp:((parseInt(v.timestemp) + (parseInt(v.orderHours)*60*1000))).valueOf(),
              timeLeft:0
            },
            success: (result) => {
              console.error('[数据库] [更新记录] 成功：', result);
            },
            fail: (error) => {
              console.error('[数据库] [更新记录] 失败：', error)
            }
          });
        }else if(offset < (v.orderHours)*60*1000 && offset > 0){
          //正在进行
          db.collection('orders').doc(v._id).update({
            data: {
              timeLeft:v.orderHours - Math.floor(offset/(60*1000))
            },
            success: (result) => {
              console.error('[剩余时间] [更新记录] 成功：', result);
            },
            fail: (error) => {
              console.error('[剩余时间] [更新记录] 失败：', error)
            }
          });
        }
      });
    },
    fail: (err) => {
      console.error('[数据库] [查询记录] 失败：', err)
    }
  })
}
module.exports={
  queryDownOrder,
  day
}